package pe.com.bbva.modpre.persistencia.hibernate;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import pe.com.bbva.modpre.dominio.TipoBanca;
import pe.com.bbva.modpre.dominio.TipoBancaTipoDoi;
import pe.com.bbva.modpre.dominio.Valor;
import pe.com.bbva.modpre.persistencia.TipoBancaTipoDoiDAO;

@Repository
@SuppressWarnings("serial")
public class TipoBancaTipoDOIHibernate extends BaseHibernate<TipoBancaTipoDoi, Long> 
	implements TipoBancaTipoDoiDAO{
	
	@Value("${jdbc.schema}")
	private String schema;

	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	public String obtenerObjetoBBDD(String objetoBBDD) {
		return schema+"."+objetoBBDD;
	}
	
	@Autowired
	public TipoBancaTipoDOIHibernate(SessionFactory sessionFactory) {
		setSessionFactory(sessionFactory);
	}

	@Override
	public void eliminarXCodigo(Valor tipoDoi) {
		StringBuilder sql=new StringBuilder();
		sql.append("delete from "+obtenerObjetoBBDD("sol_tipo_banca_tipo_doi i ")+" where i.tipo_doi=?");
		jdbcTemplate.update(sql.toString(), tipoDoi.getId());
	}

	@Override
	public List<TipoBancaTipoDoi> buscarDOIxBanca(TipoBanca tipoBanca) {
		// TODO Auto-generated method stub
		return buscarHql("select tb from TipoBancaTipoDoi tb where tipoBanca.id=?",tipoBanca.getId());
	}
	
}
